home *** CD-ROM | disk | FTP | other *** search
- /*
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ▒ ▒
- ▒ ▒
- ▒ Neuromancer's Graphics Library ▒
- ▒ Version 1.0c ▒
- ▒ ▒
- ▒ This program demonstrates the keyboard handler. ▒
- ▒ ▒
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- ▒ ▒
- ▒ Project: MTLIB01.LIB ▒
- ▒ DEMO13.CPP ▒
- ▒ ▒
- ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
- */
-
- #include <iostream.h>
- #include <conio.h>
- #include <stdlib.h>
- #include <iostream.h>
- #include "video.h"
- #include "key.h"
- #include "bitmap.h"
- #include "palette.h"
-
- extern SPRITE_HEADER *sprite_header;
- extern byte key[128];
- int xcor,ycor;
- int flag=0;
-
- void getkey()
- {
-
- if (key[ARROW_UP]==1 && ycor>1)
- {
- ycor -= 5;
- if (flag < sprite_header->total)
- flag += 1;
- else
- flag = 0;
- }
- if (key[ARROW_DOWN]==1 && ycor<190)
- {
- ycor += 5;
- if (flag > 0)
- flag -= 1;
- else
- flag = sprite_header->total;
- }
- if (key[ARROW_LEFT]==1 && xcor >1 )
- {
- xcor -= 5;
- if (flag < sprite_header->total)
- flag += 1;
- else
- flag = 0;
- }
- if (key[ARROW_RIGHT]==1 && xcor < 310)
- {
- xcor += 5;
- if (flag > 0)
- flag -= 1;
- else
- flag = sprite_header->total;
- }
- }
-
- block page1,page2;
-
- void main()
- {
- SPRITE **sprite;
- byte palette[768];
-
-
- if ((sprite=mtLoadBlit("testbmp",palette)) == NULL)
- {
- mtSetTextMode();
- cout <<"Error loading testbmp.blt sprite file!!" << endl;
- exit(0);
- }
-
- xcor = 10; ycor = 10;
-
- mtSetVGAMode();
- mtKeyInst();
- mtSetPal(palette,0,255);
-
- if ((page1=mtAllocPage(0,0,319,199))==NULL)
- {
- mtKeyUninst();
- mtSetTextMode();
- cout <<"Error!!!! Page 1 error!"<< endl;
- exit(0);
- }
-
- if ((page2=mtAllocPage(0,0,319,199))==NULL)
- {
- mtFreePage(PAGE_1);
- mtKeyUninst();
- mtSetTextMode();
- cout <<"Error!!!! Page 2 error "<< endl;
- exit(0);
- }
-
- mtSetPage(PAGE_1);
- mtClrScr(0);
- mtLoadPCX("pacman.dat");
- mtCopyPage(PAGE_1,PAGE_2);
-
- while(!key[KEY_ESC])
- {
- getkey();
- mtCPutSprite(xcor, ycor,sprite[flag]->width,sprite[flag]->height,sprite[flag]->data);
-
- mtFlipPage(PAGE_1);
- mtCopyBlk(xcor,ycor,xcor+(sprite[flag]->width)-1,ycor+(sprite[flag]->height)-1,xcor,ycor,PAGE_2,PAGE_1);
- }
-
- mtFreePage(page1);
- mtFreePage(page2);
- mtFreeBlit(sprite);
- mtKeyUninst();
- mtSetTextMode();
-
- }